package cl.tinet.ejemplos;

import java.io.Serializable;
import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;

import javax.faces.bean.ViewScoped;

import com.tinet.ejemplos.bean.UsuarioBean;

@ManagedBean
@ViewScoped
public class ManBean implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@EJB(mappedName = "userbean", name = "userbean")
	private transient UsuarioBean bean;

	private Usuario usuario;
	private List<Usuario> listaUser;

	public ManBean() {
		if (usuario == null) {
			this.usuario = new Usuario();
		}
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	// aqui empieza el crud
	public String agregarUsuario() {

		// InitialContext etx= new InitialContext();
		// UsuarioBean bean=
		// (UsuarioBean)etx.lookup("ejemplo-maven-multi-app/UsuarioBeanImpl/local");

		System.out.println("1 " + this.usuario.getNombre());
		bean.insertar(this.usuario);

		return "test";

	}

	public List<Usuario> mostrarTodos() {
		return bean.mostrarTodo();
	}

	public String eliminar(Usuario user) {
		System.out.println("ELIMINANDO" + user.getNombreUser());
		bean.eliminar(user);
		System.out.println("ELIMINADO");
		return "test";
	}

	public void mostrarUno(Usuario user) {

		this.usuario = bean.mostrarUsuario(user);

		org.primefaces.context.RequestContext.getCurrentInstance().update(
				"formEditar:editarUsuario");
		org.primefaces.context.RequestContext.getCurrentInstance().execute(
				"PF('dialogoEditarUsuario').show()");

	}

	public String editar(Usuario user) {
		bean.editar(user);
		System.out.println("usuario a editar" + user.getNombreUser());
		return "mostrarUsuarios";
	}

}
